During the decoding of video data, the video data includes sets of data structures, such as transport packets, packetized elementary streams, elementary streams, group of pictures, pictures, slices, macroblocks, and blocks. Start codes indicate the starting points for groups of pictures, pictures, and slices.
The video includes parameters known as presentation time stamps (PTS) and decode time stamps (DTS) in the header of a packetized video elementary stream. The PTS and DTS indicate the time that the next picture is to be decoded and presented for display, respectively. The video decoder compares the PTS and DTS against a program clock reference (PCR) to decode and present the picture for display.
A processor known as the video transport processor parses the headers of the transport packets, and the packetized elementary stream, and writes the video elementary stream into a memory known as a compressed data buffer. When the video transport processor writes the video elementary stream into the compressed data buffer, the video transport processor also maintains a table that records the address in the compressed data buffer to which each start code is written.
When the video decoder selects a data structure for decoding, the video decoder looks up the start code of the data structure in the start code table to determine the address storing the start code. The video decoder then fetches data starting from the address.
Because the PTS and DTS are in the header of the packetized video elementary sequence, the PTS, DTS, and PCR offset can be placed after the start code in the compressed data buffer for the first start code following a non-slice start code. Insertion of the PTS, DTS, and PCR offset in the compressed data buffer increases the number of bytes that need to be written. Each insertion after a non-slice start code could add as many as 17 bytes of data. When a transport packet contains a large number of non-slice start codes, insertion leads to compressed data going beyond 256 bytes. Accordingly, two DRAM access per packet are done in this case.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of ordinary skill in the art through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings.